<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>cmsis_armcc.h File Reference</title>
<title>CMSIS-Core (Cortex-A): cmsis_armcc.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="printComponentTabs.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 46px;">
  <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">CMSIS-Core (Cortex-A)
   &#160;<span id="projectnumber">Version 1.1.4</span>
   </div>
   <div id="projectbrief">CMSIS-Core support for Cortex-A processor-based devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<div id="CMSISnav" class="tabs1">
    <ul class="tablist">
      <script type="text/javascript">
		<!--
		writeComponentTabs.call(this);
		//-->
      </script>
	  </ul>
</div>
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
      <li><a href="modules.html"><span>Reference</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('cmsis__armcc_8h.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">cmsis_armcc.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>CMSIS compiler specific macros, functions, instructions.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gaee91bdfb2b6986731af09835bc9c6e74"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gaee91bdfb2b6986731af09835bc9c6e74">__ARM_ARCH_7A__</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gaee91bdfb2b6986731af09835bc9c6e74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to 1 when generating code for Armv7-A (Cortex-A7)  <a href="group__comp__cntrl__gr.html#gaee91bdfb2b6986731af09835bc9c6e74">More...</a><br/></td></tr>
<tr class="separator:gaee91bdfb2b6986731af09835bc9c6e74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1378040bcf22428955c6e3ce9c2053cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a>&#160;&#160;&#160;__asm</td></tr>
<tr class="memdesc:ga1378040bcf22428955c6e3ce9c2053cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass information from the compiler to the assembler.  <a href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">More...</a><br/></td></tr>
<tr class="separator:ga1378040bcf22428955c6e3ce9c2053cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade2d8d7118f8ff49547f60aa0c3382bb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gade2d8d7118f8ff49547f60aa0c3382bb">__INLINE</a>&#160;&#160;&#160;__inline</td></tr>
<tr class="memdesc:gade2d8d7118f8ff49547f60aa0c3382bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recommend that function should be inlined by the compiler.  <a href="group__comp__cntrl__gr.html#gade2d8d7118f8ff49547f60aa0c3382bb">More...</a><br/></td></tr>
<tr class="separator:gade2d8d7118f8ff49547f60aa0c3382bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ecb43ce8e7aa73d32f50afa67b42c76"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a2ecb43ce8e7aa73d32f50afa67b42c76">__FORCEINLINE</a>&#160;&#160;&#160;__forceinline</td></tr>
<tr class="separator:a2ecb43ce8e7aa73d32f50afa67b42c76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba87361bfad2ae52cfe2f40c1a1dbf9c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a>&#160;&#160;&#160;static __inline</td></tr>
<tr class="memdesc:gaba87361bfad2ae52cfe2f40c1a1dbf9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define a static function should be inlined by the compiler.  <a href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">More...</a><br/></td></tr>
<tr class="separator:gaba87361bfad2ae52cfe2f40c1a1dbf9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab904513442afdf77d4f8c74f23cbb040"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a>&#160;&#160;&#160;static __forceinline</td></tr>
<tr class="separator:ab904513442afdf77d4f8c74f23cbb040"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga153a4a31b276a9758959580538720a51"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#ga153a4a31b276a9758959580538720a51">__NO_RETURN</a>&#160;&#160;&#160;__declspec(noreturn)</td></tr>
<tr class="memdesc:ga153a4a31b276a9758959580538720a51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inform the compiler that a function does not return.  <a href="group__comp__cntrl__gr.html#ga153a4a31b276a9758959580538720a51">More...</a><br/></td></tr>
<tr class="separator:ga153a4a31b276a9758959580538720a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdc36c1b3d3e16c17a73889b7d06d0d2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#acdc36c1b3d3e16c17a73889b7d06d0d2">CMSIS_DEPRECATED</a>&#160;&#160;&#160;__attribute__((deprecated))</td></tr>
<tr class="separator:acdc36c1b3d3e16c17a73889b7d06d0d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e40e4c553fc11588f7a4c2a19e789e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#ga3e40e4c553fc11588f7a4c2a19e789e0">__USED</a>&#160;&#160;&#160;__attribute__((used))</td></tr>
<tr class="memdesc:ga3e40e4c553fc11588f7a4c2a19e789e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inform that a variable shall be retained in executable image.  <a href="group__comp__cntrl__gr.html#ga3e40e4c553fc11588f7a4c2a19e789e0">More...</a><br/></td></tr>
<tr class="separator:ga3e40e4c553fc11588f7a4c2a19e789e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac607bf387b29162be6a9b77fc7999539"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gac607bf387b29162be6a9b77fc7999539">__WEAK</a>&#160;&#160;&#160;__attribute__((weak))</td></tr>
<tr class="memdesc:gac607bf387b29162be6a9b77fc7999539"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export a function or variable weakly to allow overwrites.  <a href="group__comp__cntrl__gr.html#gac607bf387b29162be6a9b77fc7999539">More...</a><br/></td></tr>
<tr class="separator:gac607bf387b29162be6a9b77fc7999539"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabe8996d3d985ee1529475443cc635bf1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gabe8996d3d985ee1529475443cc635bf1">__PACKED</a>&#160;&#160;&#160;__attribute__((packed))</td></tr>
<tr class="memdesc:gabe8996d3d985ee1529475443cc635bf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request smallest possible alignment.  <a href="group__comp__cntrl__gr.html#gabe8996d3d985ee1529475443cc635bf1">More...</a><br/></td></tr>
<tr class="separator:gabe8996d3d985ee1529475443cc635bf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dbb70fab85207c27b581ecb6532b314"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a>&#160;&#160;&#160;__packed struct</td></tr>
<tr class="separator:a4dbb70fab85207c27b581ecb6532b314"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5103fb373cae9837cc4a384be55dc87f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a5103fb373cae9837cc4a384be55dc87f">__UNALIGNED_UINT16_WRITE</a>(addr, val)&#160;&#160;&#160;((*((__packed uint16_t *)(addr))) = (val))</td></tr>
<tr class="separator:a5103fb373cae9837cc4a384be55dc87f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab71b66e5ce403158d3dee62a59f9175f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#ab71b66e5ce403158d3dee62a59f9175f">__UNALIGNED_UINT16_READ</a>(addr)&#160;&#160;&#160;(*((const __packed uint16_t *)(addr)))</td></tr>
<tr class="separator:ab71b66e5ce403158d3dee62a59f9175f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a203f593d140ed88b81bc189edc861110"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a203f593d140ed88b81bc189edc861110">__UNALIGNED_UINT32_WRITE</a>(addr, val)&#160;&#160;&#160;((*((__packed uint32_t *)(addr))) = (val))</td></tr>
<tr class="separator:a203f593d140ed88b81bc189edc861110"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b931f0b051b8c1a6377a3dcc7559b5e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a3b931f0b051b8c1a6377a3dcc7559b5e">__UNALIGNED_UINT32_READ</a>(addr)&#160;&#160;&#160;(*((const __packed uint32_t *)(addr)))</td></tr>
<tr class="separator:a3b931f0b051b8c1a6377a3dcc7559b5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55">__ALIGNED</a>(x)&#160;&#160;&#160;__attribute__((aligned(x)))</td></tr>
<tr class="memdesc:gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum alignment for a variable.  <a href="group__comp__cntrl__gr.html#gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55">More...</a><br/></td></tr>
<tr class="separator:gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6516fb12ab0dd45c734f8cef7d921af6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a6516fb12ab0dd45c734f8cef7d921af6">__COMPILER_BARRIER</a>()&#160;&#160;&#160;__memory_changed()</td></tr>
<tr class="separator:a6516fb12ab0dd45c734f8cef7d921af6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd585ddc865fb9b7f2493af1eee1a572"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gabd585ddc865fb9b7f2493af1eee1a572">__NOP</a>&#160;&#160;&#160;__nop</td></tr>
<tr class="memdesc:gabd585ddc865fb9b7f2493af1eee1a572"><td class="mdescLeft">&#160;</td><td class="mdescRight">No Operation.  <a href="group__CMSIS__Core__InstructionInterface.html#gabd585ddc865fb9b7f2493af1eee1a572">More...</a><br/></td></tr>
<tr class="separator:gabd585ddc865fb9b7f2493af1eee1a572"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad23bf2b78a9a4524157c9de0d30b7448"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gad23bf2b78a9a4524157c9de0d30b7448">__WFI</a>&#160;&#160;&#160;__wfi</td></tr>
<tr class="memdesc:gad23bf2b78a9a4524157c9de0d30b7448"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait For Interrupt.  <a href="group__CMSIS__Core__InstructionInterface.html#gad23bf2b78a9a4524157c9de0d30b7448">More...</a><br/></td></tr>
<tr class="separator:gad23bf2b78a9a4524157c9de0d30b7448"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac6cc7dd4325d9cb40d3290fa5244b3d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gaac6cc7dd4325d9cb40d3290fa5244b3d">__WFE</a>&#160;&#160;&#160;__wfe</td></tr>
<tr class="memdesc:gaac6cc7dd4325d9cb40d3290fa5244b3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait For Event.  <a href="group__CMSIS__Core__InstructionInterface.html#gaac6cc7dd4325d9cb40d3290fa5244b3d">More...</a><br/></td></tr>
<tr class="separator:gaac6cc7dd4325d9cb40d3290fa5244b3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab4f296d0022b4b10dc0976eb22052f9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gaab4f296d0022b4b10dc0976eb22052f9">__SEV</a>&#160;&#160;&#160;__sev</td></tr>
<tr class="memdesc:gaab4f296d0022b4b10dc0976eb22052f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send Event.  <a href="group__CMSIS__Core__InstructionInterface.html#gaab4f296d0022b4b10dc0976eb22052f9">More...</a><br/></td></tr>
<tr class="separator:gaab4f296d0022b4b10dc0976eb22052f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad233022e850a009fc6f7602be1182f6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gaad233022e850a009fc6f7602be1182f6">__ISB</a>()</td></tr>
<tr class="memdesc:gaad233022e850a009fc6f7602be1182f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instruction Synchronization Barrier.  <a href="group__CMSIS__Core__InstructionInterface.html#gaad233022e850a009fc6f7602be1182f6">More...</a><br/></td></tr>
<tr class="separator:gaad233022e850a009fc6f7602be1182f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga067d257a2b34565410acefb5afef2203"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#ga067d257a2b34565410acefb5afef2203">__DSB</a>()</td></tr>
<tr class="memdesc:ga067d257a2b34565410acefb5afef2203"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data Synchronization Barrier.  <a href="group__CMSIS__Core__InstructionInterface.html#ga067d257a2b34565410acefb5afef2203">More...</a><br/></td></tr>
<tr class="separator:ga067d257a2b34565410acefb5afef2203"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga671101179b5943990785f36f8c1e2269"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#ga671101179b5943990785f36f8c1e2269">__DMB</a>()</td></tr>
<tr class="memdesc:ga671101179b5943990785f36f8c1e2269"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data Memory Barrier.  <a href="group__CMSIS__Core__InstructionInterface.html#ga671101179b5943990785f36f8c1e2269">More...</a><br/></td></tr>
<tr class="separator:ga671101179b5943990785f36f8c1e2269"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14f54807872c0f5e05604c4924abfdae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a14f54807872c0f5e05604c4924abfdae">__REV</a>&#160;&#160;&#160;__rev</td></tr>
<tr class="memdesc:a14f54807872c0f5e05604c4924abfdae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse byte order (32 bit)  <a href="#a14f54807872c0f5e05604c4924abfdae">More...</a><br/></td></tr>
<tr class="separator:a14f54807872c0f5e05604c4924abfdae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95b9bd281ddeda378b85afdb8f2ced86"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a95b9bd281ddeda378b85afdb8f2ced86">__ROR</a>&#160;&#160;&#160;__ror</td></tr>
<tr class="memdesc:a95b9bd281ddeda378b85afdb8f2ced86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse byte order (16 bit)  <a href="#a95b9bd281ddeda378b85afdb8f2ced86">More...</a><br/></td></tr>
<tr class="separator:a95b9bd281ddeda378b85afdb8f2ced86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15ea6bd3c507d3e81c3b3a1258e46397"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#ga15ea6bd3c507d3e81c3b3a1258e46397">__BKPT</a>(value)&#160;&#160;&#160;__breakpoint(value)</td></tr>
<tr class="memdesc:ga15ea6bd3c507d3e81c3b3a1258e46397"><td class="mdescLeft">&#160;</td><td class="mdescRight">Breakpoint.  <a href="group__CMSIS__Core__InstructionInterface.html#ga15ea6bd3c507d3e81c3b3a1258e46397">More...</a><br/></td></tr>
<tr class="separator:ga15ea6bd3c507d3e81c3b3a1258e46397"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab83768933a612816fad669db5488366f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#ab83768933a612816fad669db5488366f">__RBIT</a>&#160;&#160;&#160;__rbit</td></tr>
<tr class="memdesc:ab83768933a612816fad669db5488366f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse bit order of value.  <a href="#ab83768933a612816fad669db5488366f">More...</a><br/></td></tr>
<tr class="separator:ab83768933a612816fad669db5488366f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d5bb1527e042be4a9fa5a33f65cc248"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a5d5bb1527e042be4a9fa5a33f65cc248">__CLZ</a>&#160;&#160;&#160;__clz</td></tr>
<tr class="memdesc:a5d5bb1527e042be4a9fa5a33f65cc248"><td class="mdescLeft">&#160;</td><td class="mdescRight">Count leading zeros.  <a href="#a5d5bb1527e042be4a9fa5a33f65cc248">More...</a><br/></td></tr>
<tr class="separator:a5d5bb1527e042be4a9fa5a33f65cc248"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8876672c1f185d3253fea6b06bdba771"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a8876672c1f185d3253fea6b06bdba771">__LDREXB</a>(ptr)&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint8_t ) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</td></tr>
<tr class="memdesc:a8876672c1f185d3253fea6b06bdba771"><td class="mdescLeft">&#160;</td><td class="mdescRight">LDR Exclusive (8 bit)  <a href="#a8876672c1f185d3253fea6b06bdba771">More...</a><br/></td></tr>
<tr class="separator:a8876672c1f185d3253fea6b06bdba771"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7f6f01cf534bc8daccc421dc823fc6f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#aa7f6f01cf534bc8daccc421dc823fc6f">__LDREXH</a>(ptr)&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint16_t) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</td></tr>
<tr class="memdesc:aa7f6f01cf534bc8daccc421dc823fc6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">LDR Exclusive (16 bit)  <a href="#aa7f6f01cf534bc8daccc421dc823fc6f">More...</a><br/></td></tr>
<tr class="separator:aa7f6f01cf534bc8daccc421dc823fc6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa872ae25197f1dddc52835fdfed9a881"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#aa872ae25197f1dddc52835fdfed9a881">__LDREXW</a>(ptr)&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint32_t ) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</td></tr>
<tr class="memdesc:aa872ae25197f1dddc52835fdfed9a881"><td class="mdescLeft">&#160;</td><td class="mdescRight">LDR Exclusive (32 bit)  <a href="#aa872ae25197f1dddc52835fdfed9a881">More...</a><br/></td></tr>
<tr class="separator:aa872ae25197f1dddc52835fdfed9a881"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a503ba30a93e83963de38e5171fbbabce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a503ba30a93e83963de38e5171fbbabce">__STREXB</a>(value, ptr)&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</td></tr>
<tr class="memdesc:a503ba30a93e83963de38e5171fbbabce"><td class="mdescLeft">&#160;</td><td class="mdescRight">STR Exclusive (8 bit)  <a href="#a503ba30a93e83963de38e5171fbbabce">More...</a><br/></td></tr>
<tr class="separator:a503ba30a93e83963de38e5171fbbabce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63d19c6c7852ada9a1c1aab80e6294b1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a63d19c6c7852ada9a1c1aab80e6294b1">__STREXH</a>(value, ptr)&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</td></tr>
<tr class="memdesc:a63d19c6c7852ada9a1c1aab80e6294b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">STR Exclusive (16 bit)  <a href="#a63d19c6c7852ada9a1c1aab80e6294b1">More...</a><br/></td></tr>
<tr class="separator:a63d19c6c7852ada9a1c1aab80e6294b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c3704e33e90ba0491cee56cfb553090"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a0c3704e33e90ba0491cee56cfb553090">__STREXW</a>(value, ptr)&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</td></tr>
<tr class="memdesc:a0c3704e33e90ba0491cee56cfb553090"><td class="mdescLeft">&#160;</td><td class="mdescRight">STR Exclusive (32 bit)  <a href="#a0c3704e33e90ba0491cee56cfb553090">More...</a><br/></td></tr>
<tr class="separator:a0c3704e33e90ba0491cee56cfb553090"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f7b66103530fadcce226375af3c2c03"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a7f7b66103530fadcce226375af3c2c03">__CLREX</a>&#160;&#160;&#160;__clrex</td></tr>
<tr class="memdesc:a7f7b66103530fadcce226375af3c2c03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove the exclusive lock.  <a href="#a7f7b66103530fadcce226375af3c2c03">More...</a><br/></td></tr>
<tr class="separator:a7f7b66103530fadcce226375af3c2c03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c013c2ed76ebc48c283c8bae17b9ab8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a3c013c2ed76ebc48c283c8bae17b9ab8">__SSAT</a>&#160;&#160;&#160;__ssat</td></tr>
<tr class="memdesc:a3c013c2ed76ebc48c283c8bae17b9ab8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signed Saturate.  <a href="#a3c013c2ed76ebc48c283c8bae17b9ab8">More...</a><br/></td></tr>
<tr class="separator:a3c013c2ed76ebc48c283c8bae17b9ab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0e4fa951d563740462d837bb6ddd7bb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#ad0e4fa951d563740462d837bb6ddd7bb">__USAT</a>&#160;&#160;&#160;__usat</td></tr>
<tr class="memdesc:ad0e4fa951d563740462d837bb6ddd7bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unsigned Saturate.  <a href="#ad0e4fa951d563740462d837bb6ddd7bb">More...</a><br/></td></tr>
<tr class="separator:ad0e4fa951d563740462d837bb6ddd7bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2a4e5d85d92189d574854b2fbfff057"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#ad2a4e5d85d92189d574854b2fbfff057">__get_CP</a>(cp, op1, Rt, CRn, CRm, op2)&#160;&#160;&#160;do { register volatile uint32_t tmp <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a>(&quot;cp&quot; # cp &quot;:&quot; # op1 &quot;:c&quot; # CRn &quot;:c&quot; # CRm &quot;:&quot; # op2); (Rt) = tmp; } while(0)</td></tr>
<tr class="separator:ad2a4e5d85d92189d574854b2fbfff057"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e4710ddc910c7feee1de7f118b84ad1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a5e4710ddc910c7feee1de7f118b84ad1">__set_CP</a>(cp, op1, Rt, CRn, CRm, op2)&#160;&#160;&#160;do { register volatile uint32_t tmp <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a>(&quot;cp&quot; # cp &quot;:&quot; # op1 &quot;:c&quot; # CRn &quot;:c&quot; # CRm &quot;:&quot; # op2); tmp = (Rt); } while(0)</td></tr>
<tr class="separator:a5e4710ddc910c7feee1de7f118b84ad1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96a3cccabb5bcaf41115a5dfb3fc6723"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a96a3cccabb5bcaf41115a5dfb3fc6723">__get_CP64</a>(cp, op1, Rt, CRm)</td></tr>
<tr class="separator:a96a3cccabb5bcaf41115a5dfb3fc6723"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af23b5ae27930ef8d9f62a2cf19338003"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#af23b5ae27930ef8d9f62a2cf19338003">__set_CP64</a>(cp, op1, Rt, CRm)</td></tr>
<tr class="separator:af23b5ae27930ef8d9f62a2cf19338003"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga6a275172e274ea7ce6c22030d07c6c64"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__FPSCR.html#ga6a275172e274ea7ce6c22030d07c6c64">__get_FPSCR</a> (void)</td></tr>
<tr class="memdesc:ga6a275172e274ea7ce6c22030d07c6c64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get FPSCR (Floating Point Status/Control)  <a href="group__CMSIS__FPSCR.html#ga6a275172e274ea7ce6c22030d07c6c64">More...</a><br/></td></tr>
<tr class="separator:ga6a275172e274ea7ce6c22030d07c6c64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17c6ff443c52c74125fefef7de5fee1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__FPSCR.html#ga17c6ff443c52c74125fefef7de5fee1d">__set_FPSCR</a> (uint32_t fpscr)</td></tr>
<tr class="memdesc:ga17c6ff443c52c74125fefef7de5fee1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set FPSCR (Floating Point Status/Control)  <a href="group__CMSIS__FPSCR.html#ga17c6ff443c52c74125fefef7de5fee1d">More...</a><br/></td></tr>
<tr class="separator:ga17c6ff443c52c74125fefef7de5fee1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0308d7d313bced36c3d1a4c2f9741186"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR.html#ga0308d7d313bced36c3d1a4c2f9741186">__get_CPSR</a> (void)</td></tr>
<tr class="memdesc:ga0308d7d313bced36c3d1a4c2f9741186"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get CPSR (Current Program Status Register)  <a href="group__CMSIS__CPSR.html#ga0308d7d313bced36c3d1a4c2f9741186">More...</a><br/></td></tr>
<tr class="separator:ga0308d7d313bced36c3d1a4c2f9741186"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf87faa3453333bcac5667fb1ccfc7f61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR.html#gaf87faa3453333bcac5667fb1ccfc7f61">__set_CPSR</a> (uint32_t cpsr)</td></tr>
<tr class="memdesc:gaf87faa3453333bcac5667fb1ccfc7f61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set CPSR (Current Program Status Register)  <a href="group__CMSIS__CPSR.html#gaf87faa3453333bcac5667fb1ccfc7f61">More...</a><br/></td></tr>
<tr class="separator:gaf87faa3453333bcac5667fb1ccfc7f61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4712ef84455dfc73de4697e1c213b0ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a4712ef84455dfc73de4697e1c213b0ed">__get_mode</a> (void)</td></tr>
<tr class="memdesc:a4712ef84455dfc73de4697e1c213b0ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Mode.  <a href="#a4712ef84455dfc73de4697e1c213b0ed">More...</a><br/></td></tr>
<tr class="separator:a4712ef84455dfc73de4697e1c213b0ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a306b0a932918f2243a40d4e855503be2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a306b0a932918f2243a40d4e855503be2">__set_mode</a> (uint32_t mode)</td></tr>
<tr class="memdesc:a306b0a932918f2243a40d4e855503be2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set Mode.  <a href="#a306b0a932918f2243a40d4e855503be2">More...</a><br/></td></tr>
<tr class="separator:a306b0a932918f2243a40d4e855503be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1473ba10f33f397118e434e9ad0c1514"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a1473ba10f33f397118e434e9ad0c1514">__get_SP</a> (void)</td></tr>
<tr class="memdesc:a1473ba10f33f397118e434e9ad0c1514"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Stack Pointer.  <a href="#a1473ba10f33f397118e434e9ad0c1514">More...</a><br/></td></tr>
<tr class="separator:a1473ba10f33f397118e434e9ad0c1514"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6af63cb939bd108aef1c0f12622350cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__SP.html#ga6af63cb939bd108aef1c0f12622350cb">__set_SP</a> (uint32_t stack)</td></tr>
<tr class="memdesc:ga6af63cb939bd108aef1c0f12622350cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set Stack Pointer.  <a href="group__CMSIS__SP.html#ga6af63cb939bd108aef1c0f12622350cb">More...</a><br/></td></tr>
<tr class="separator:ga6af63cb939bd108aef1c0f12622350cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a403dcb809998ee594da0908820155a42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a403dcb809998ee594da0908820155a42">__get_SP_usr</a> (void)</td></tr>
<tr class="memdesc:a403dcb809998ee594da0908820155a42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get USR/SYS Stack Pointer.  <a href="#a403dcb809998ee594da0908820155a42">More...</a><br/></td></tr>
<tr class="separator:a403dcb809998ee594da0908820155a42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabfe36eb17b6ae34633c7e155d132426e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__SP.html#gabfe36eb17b6ae34633c7e155d132426e">__set_SP_usr</a> (uint32_t topOfProcStack)</td></tr>
<tr class="memdesc:gabfe36eb17b6ae34633c7e155d132426e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set USR/SYS Stack Pointer.  <a href="group__CMSIS__SP.html#gabfe36eb17b6ae34633c7e155d132426e">More...</a><br/></td></tr>
<tr class="separator:gabfe36eb17b6ae34633c7e155d132426e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadde57667b9f81c468a49268513624b90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__FPEXC.html#gadde57667b9f81c468a49268513624b90">__get_FPEXC</a> (void)</td></tr>
<tr class="memdesc:gadde57667b9f81c468a49268513624b90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get FPEXC (Floating Point Exception Control Register)  <a href="group__CMSIS__FPEXC.html#gadde57667b9f81c468a49268513624b90">More...</a><br/></td></tr>
<tr class="separator:gadde57667b9f81c468a49268513624b90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga14ba90beb9b4712454f35ac453c45f5d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__FPEXC.html#ga14ba90beb9b4712454f35ac453c45f5d">__set_FPEXC</a> (uint32_t fpexc)</td></tr>
<tr class="memdesc:ga14ba90beb9b4712454f35ac453c45f5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set FPEXC (Floating Point Exception Control Register)  <a href="group__CMSIS__FPEXC.html#ga14ba90beb9b4712454f35ac453c45f5d">More...</a><br/></td></tr>
<tr class="separator:ga14ba90beb9b4712454f35ac453c45f5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e4728985ee8b4fa89cc01c032f69565"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__FPU__functions.html#ga1e4728985ee8b4fa89cc01c032f69565">__FPU_Enable</a> (void)</td></tr>
<tr class="memdesc:ga1e4728985ee8b4fa89cc01c032f69565"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable Floating Point Unit.  <a href="group__FPU__functions.html#ga1e4728985ee8b4fa89cc01c032f69565">More...</a><br/></td></tr>
<tr class="separator:ga1e4728985ee8b4fa89cc01c032f69565"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
<div class="textblock"><dl class="section version"><dt>Version</dt><dd>V1.0.3 </dd></dl>
<dl class="section date"><dt>Date</dt><dd>15. May 2019 </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a7f7b66103530fadcce226375af3c2c03"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __CLREX&#160;&#160;&#160;__clrex</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Removes the exclusive lock which is created by LDREX. </p>

</div>
</div>
<a class="anchor" id="a5d5bb1527e042be4a9fa5a33f65cc248"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __CLZ&#160;&#160;&#160;__clz</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to count the leading zeros </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of leading zeros in value </dd></dl>

</div>
</div>
<a class="anchor" id="a6516fb12ab0dd45c734f8cef7d921af6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __COMPILER_BARRIER</td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td>&#160;&#160;&#160;__memory_changed()</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a2ecb43ce8e7aa73d32f50afa67b42c76"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __FORCEINLINE&#160;&#160;&#160;__forceinline</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad2a4e5d85d92189d574854b2fbfff057"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __get_CP</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cp, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">op1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Rt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">CRn, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">CRm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">op2&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;do { register volatile uint32_t tmp <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a>(&quot;cp&quot; # cp &quot;:&quot; # op1 &quot;:c&quot; # CRn &quot;:c&quot; # CRm &quot;:&quot; # op2); (Rt) = tmp; } while(0)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a96a3cccabb5bcaf41115a5dfb3fc6723"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __get_CP64</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cp, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">op1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Rt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">CRm&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a8876672c1f185d3253fea6b06bdba771"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __LDREXB</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ptr</td><td>)</td>
          <td>&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint8_t ) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Executes a exclusive LDR instruction for 8 bit value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>value of type uint8_t at (*ptr) </dd></dl>

</div>
</div>
<a class="anchor" id="aa7f6f01cf534bc8daccc421dc823fc6f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __LDREXH</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ptr</td><td>)</td>
          <td>&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint16_t) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Executes a exclusive LDR instruction for 16 bit values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>value of type uint16_t at (*ptr) </dd></dl>

</div>
</div>
<a class="anchor" id="aa872ae25197f1dddc52835fdfed9a881"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __LDREXW</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ptr</td><td>)</td>
          <td>&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint32_t ) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Executes a exclusive LDR instruction for 32 bit values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>value of type uint32_t at (*ptr) </dd></dl>

</div>
</div>
<a class="anchor" id="a4dbb70fab85207c27b581ecb6532b314"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __PACKED_STRUCT&#160;&#160;&#160;__packed struct</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab83768933a612816fad669db5488366f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __RBIT&#160;&#160;&#160;__rbit</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reversed value </dd></dl>

</div>
</div>
<a class="anchor" id="a14f54807872c0f5e05604c4924abfdae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __REV&#160;&#160;&#160;__rev</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reversed value </dd></dl>

</div>
</div>
<a class="anchor" id="a95b9bd281ddeda378b85afdb8f2ced86"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __ROR&#160;&#160;&#160;__ror</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reversed value Reverse byte order (16 bit)</dd></dl>
<p>Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reversed value Rotate Right in unsigned value (32 bit) </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">op1</td><td>Value to rotate </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">op2</td><td>Number of Bits to rotate </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Rotated value </dd></dl>

</div>
</div>
<a class="anchor" id="a5e4710ddc910c7feee1de7f118b84ad1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __set_CP</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cp, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">op1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Rt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">CRn, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">CRm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">op2&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;do { register volatile uint32_t tmp <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a>(&quot;cp&quot; # cp &quot;:&quot; # op1 &quot;:c&quot; # CRn &quot;:c&quot; # CRm &quot;:&quot; # op2); tmp = (Rt); } while(0)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af23b5ae27930ef8d9f62a2cf19338003"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __set_CP64</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cp, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">op1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Rt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">CRm&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a3c013c2ed76ebc48c283c8bae17b9ab8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __SSAT&#160;&#160;&#160;__ssat</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Saturates a signed value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to be saturated </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sat</td><td>Bit position to saturate to (1..32) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Saturated value </dd></dl>

</div>
</div>
<a class="anchor" id="ab904513442afdf77d4f8c74f23cbb040"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __STATIC_FORCEINLINE&#160;&#160;&#160;static __forceinline</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a503ba30a93e83963de38e5171fbbabce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __STREXB</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">value, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ptr&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Executes a exclusive STR instruction for 8 bit values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 Function succeeded </dd>
<dd>
1 Function failed </dd></dl>

</div>
</div>
<a class="anchor" id="a63d19c6c7852ada9a1c1aab80e6294b1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __STREXH</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">value, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ptr&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Executes a exclusive STR instruction for 16 bit values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 Function succeeded </dd>
<dd>
1 Function failed </dd></dl>

</div>
</div>
<a class="anchor" id="a0c3704e33e90ba0491cee56cfb553090"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __STREXW</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">value, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ptr&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Executes a exclusive STR instruction for 32 bit values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 Function succeeded </dd>
<dd>
1 Function failed </dd></dl>

</div>
</div>
<a class="anchor" id="ab71b66e5ce403158d3dee62a59f9175f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __UNALIGNED_UINT16_READ</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(*((const __packed uint16_t *)(addr)))</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5103fb373cae9837cc4a384be55dc87f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __UNALIGNED_UINT16_WRITE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">val&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((*((__packed uint16_t *)(addr))) = (val))</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a3b931f0b051b8c1a6377a3dcc7559b5e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __UNALIGNED_UINT32_READ</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(*((const __packed uint32_t *)(addr)))</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a203f593d140ed88b81bc189edc861110"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __UNALIGNED_UINT32_WRITE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">val&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((*((__packed uint32_t *)(addr))) = (val))</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad0e4fa951d563740462d837bb6ddd7bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __USAT&#160;&#160;&#160;__usat</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Saturates an unsigned value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to be saturated </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sat</td><td>Bit position to saturate to (0..31) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Saturated value </dd></dl>

</div>
</div>
<a class="anchor" id="acdc36c1b3d3e16c17a73889b7d06d0d2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CMSIS_DEPRECATED&#160;&#160;&#160;__attribute__((deprecated))</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a4712ef84455dfc73de4697e1c213b0ed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> uint32_t __get_mode </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Processor Mode </dd></dl>

</div>
</div>
<a class="anchor" id="a1473ba10f33f397118e434e9ad0c1514"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> uint32_t __get_SP </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Stack Pointer </dd></dl>

</div>
</div>
<a class="anchor" id="a403dcb809998ee594da0908820155a42"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> uint32_t __get_SP_usr </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>USR/SYSStack Pointer </dd></dl>

</div>
</div>
<a class="anchor" id="a306b0a932918f2243a40d4e855503be2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> void __set_mode </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Mode value to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_f806067e3cfd0faadc71b6fb603a0f72.html">Core_A</a></li><li class="navelem"><a class="el" href="dir_3f4b401a2ed0c5733c677abc947b6aa9.html">Include</a></li><li class="navelem"><a class="el" href="cmsis__armcc_8h.html">cmsis_armcc.h</a></li>
    <li class="footer">Generated on Wed Jul 10 2019 15:20:27 for CMSIS-Core (Cortex-A) Version 1.1.4 by Arm Ltd. All rights reserved.
	<!--
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 
	-->
	</li>
  </ul>
</div>
</body>
</html>
